import { auth, rs, util } from 'qiniu';
import './interfaces';

const AK = 'EuAlexLFzRBCAO0vyxEeJSyAtwISmg9y6MW-6CuY';
const EXPIRES = 72000;
const SK = 'JDX6tv_BpYvFuP9lvRz0pY_1PPn5dxemSNaS-UZv';
const bucket = 'test';

const mac = new auth.digest.Mac(AK, SK);

export default async function atom(msg: {}) {
	const put_policy = new rs.PutPolicy({
		// deadline,	// 上传凭证有效截止时间。Unix时间戳，单位为秒。该截止时间为上传完成后，在七牛空间生成文件的校验时间，而非上传的开始时间，一般建议设置为上传开始时间 + 3600s，用户可根据具体的业务场景对凭证截止时间进行调整。
		expires: EXPIRES,
		insertOnly: 1,	// 限定为新增语意。如果设置为非 0 值，则无论 scope 设置为什么形式，仅能以新增模式上传文件
		returnBody: '{"key":"$(key)","name":"$(fname)","size":"$(fsize)","imageInfo":$(imageInfo), "avinfo":$(avinfo), "persistentid":$(persistentId), "exif":$(exif), "imageAve":$(imageAve), "ext":$(ext), "bucket":$(bucket)}',
		// persistentOps: 'avthumb/mp4/vcodec/libx264',
		// persistentPipeline: 'xmedia',
		scope: bucket
	});
	return put_policy.uploadToken(mac);
}